<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
  
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>การเก็บหน้าเว็บไซต์(Web Page Caching) : คู่มืิอการใช้งาน
CodeIgniter</title>

  
  
  <style type="text/css" media="all">@import url('../userguide.css');</style>
  
  <link rel="stylesheet" type="text/css" media="all" href="../userguide.css" />

  
  <script type="text/javascript" src="../nav/nav.js" ></script>
  
  <script type="text/javascript" src="../nav/prototype.lite.js" ></script>
  
  <script type="text/javascript" src="../nav/moo.fx.js" ></script>
  
  <script type="text/javascript" src="../nav/user_guide_menu.js" ></script>
  
  <meta http-equiv="expires" content="-1" />

  
  <meta http-equiv="pragma" content="no-cache" />

  
  <meta name="robots" content="all" />

  
  <meta name="author" content="ExpressionEngine Dev Team" />

  
  <meta name="description" content="CodeIgniter User Guide" />

</head><body>
<!-- START NAVIGATION -->
<div id="nav">
<div id="nav_inner">
<script type="text/javascript">create_menu('../');</script></div>
</div>

<div id="nav2"><a name="top" /><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker_th.jpg" title="Toggle Table of Contents" alt="Toggle Table of Contents" border="0" height="43" width="154" /></a></div>

<div id="masthead">
<table style="width: 100%;" border="0" cellpadding="0" cellspacing="0">
<tbody>

<tr>
<td>
<h1>คู่มือการใช้งาน CodeIgniter เวอร์ชั่น 1.7.2</h1>
</td>
<td id="breadcrumb_right"><a href="../toc.html">หน้าตารางเนื้อหา</a></td>
</tr>
</tbody>
</table>
</div>

<!-- END NAVIGATION -->

<!-- START BREADCRUMB -->
<table style="width: 100%;" border="0" cellpadding="0" cellspacing="0">

  <tbody>
    <tr>
      <td id="breadcrumb"> <a href="http://codeigniter.in.th/">CodeIgniter.in.th</a>
&nbsp;›&nbsp; <a href="../index.html">หน้าหลักคู่มือการใช้งาน</a>
&nbsp;›&nbsp;&nbsp;Caching (เก็บเอาไว้) </td>
      <td id="searchbox">
      <form method="get" action="http://www.google.com/search"><input name="as_sitesearch" id="as_sitesearch" value="codeigniter.in.th/user_guide/" type="hidden" />ค้นหาคู่มือการใช้งาน&nbsp;
        <input class="input" style="width: 200px;" name="q" id="q" size="31" maxlength="255" value="" type="text" />&nbsp;<input class="submit" name="sa" value="ค้นหา" type="submit" /></form>
      </td>
    </tr>
  </tbody>
</table>

<!-- END BREADCRUMB -->
<br clear="all" />

<!-- START CONTENT -->
<div id="content">
<h1>การเก็บหน้าเว็บไซต์เอาไว้ในหน่วยความจำ (Web Page Caching)</h1>
<p>CodeIgniter
ยอมให้คุณเก็บหน้าต่างๆของคุณไว้เพื่อที่จะทำให้เกิดประสิทธิภาพสูงสุด</p>
<p>ถึงแม้ว่า CodeIgniter ค่อนข้างเร็ว
แต่จำนวนข่าวสารที่ไม่อยู่นิ่งที่แสดงในหน้าต่างๆจะทำให้ส่งผลกับการใช้ทรัพยากรเซิร์ฟเวอร์
, ความจำ , และกระบวนการดำเนินการให้เป็นประโยชน์
ซึ่งมีผลกับความเร็วในการโหลดหน้าเว็บของคุณ
ในการทำการเก็บข้อมูลหน้าเว็บไว้ในหน่วยความจำ
มันจะถูกบันทึกเอาไว้เมื่อมันอยู่ในขั้นตอนที่แสดงผลสมบูรณ์
คุณสามารถทำให้เกิดประสิทธิภาพที่ใกล้เคียงกับหน้าเว็บแบบคงที่ (static
web pages)</p>
<h2>การเก็บทำงานอย่างไร?</h2>
<p>การเก็บข้อมูลในหน่วยความจำ(Caching) สามารถเปิดได้แบบในแต่ละหน้าได้
และคุณสามารถตั้งความยาวของเวลาที่หน้านั้นจะคงอยู่จนกว่าจะถูกกระตุ้นความจำ
(refresh) เมื่อหน้าถูกโหลดสำหรับครั้งแรก
ไฟล์ที่เก็บจะถูกเขียนอยู่ในโฟลเดอร์ <dfn>system/cache</dfn>
ลำดับถัดมาเมื่อหน้าถูกโหลดไฟล์ที่เก็บจะรับและส่งคำร้องไปยังบราวเซอร์ของผู้ใช้
ถ้ามันหมดอายุมันจะถูกลบและถูกกระตุ้นความจำก่อนที่จะส่งกลับไปยังบราวเซอร์</p>
<p>ข้อสังเกตุ: The Benchmark tag
จะไม่ถูกเก็บดังนั้นคุณยังสามารถดูความเร็วในการโหลดเมื่อเมื่อคุณเปิดใช้การเก็บข้อมูลไว้ในหน่วยความจำ
(caching)</p>
<h2>เปิดใช้งานการเก็บ</h2>
<p>การเปิดใช้งานคุณสมบัติการเก็บ
ให้เราใส่คำสั่งนี้ลงไปในส่วนไหนก็ได้ของฟังก์ชันของตัวควบคุม (controller)</p>
<code>$this-&gt;output-&gt;cache(<var>n</var>);</code>
<p>โดย <var>n</var> คือตัวเลขจำนวน <strong>นาที</strong>
ที่คุณต้องการเก็บหน้าไว้ระหว่างการถูกกระตุ้นความจำ</p>
<p>ในคำสั่งด้านบนสามารถใช้ได้ทุกที่ในฟังก์ชัน
มันไม่ได้มีผลโดยลำดับที่ถูกใช้
ดังนั้นให้วางไว้ในที่ที่ๆมันมีเหตุผลที่สุดกับคุณ เมื่อคำสั่งนี้ถูกใช้
หน้าต่างๆของคุณจะเริ่มถูกเก็บ</p>
<p class="important"><strong>ข้อควรระวัง:</strong>
เพราะวิธีการเก็บผลลัพธ์เนื้อหาของ&nbsp;CodeIgniter&nbsp;
การเก็บจะสามารถใช้ได้เฉพาะเมื่อคุณสร้างหน้าแสดงสำหรับตัวควบคุมด้วย&nbsp;<a href="./views.html">view (ส่วนแสดง)</a> เท่านั้น</p>
<p class="important"><strong>ข้อสังเกตุ:</strong>
ก่อนที่ไฟล์ที่เก็บจะสามารถถูกเขียนคุณจะต้องตั้งค่าการยินยอมการใช้ไฟล์
(file permission) บนโฟลเดอร์
<dfn>system/cache</dfn> ให้ถูกเขียนได้</p>
<h2>การลบไฟล์ที่ถูกเก็บ</h2>
<p>ถ้าคุณไม่ต้องการที่จะเก็บไฟล์คุณสามารถลบคำสั่งการเก็บและมันจะไม่ถูกกระตุ้นหน่วยความจำเมื่อมันหมดอายุ
ข้อสังเกตุ:
เมื่อลบคำสั่งมันจะไม่ลบไฟล์ที่ถูกเก็บทันที มันจะหมดอายุตามปกติ
ถ้าคุณต้องการที่จะเอามันออกเร็วขึ้นคุณต้องไปลบเองในโฟลเดอร์ cache</p>
</div>

<!-- END CONTENT -->
<div id="footer">
<p>หัวข้ออันก่อน:&nbsp;&nbsp;<a href="errors.html">รับมือกับข้อผิดพลาด</a>
&nbsp;&nbsp;&nbsp;·&nbsp;&nbsp;
<a href="#top">บนสุดของหน้า</a>&nbsp;&nbsp;&nbsp;·&nbsp;&nbsp;
<a href="../index.html">หน้าหลักคู่มือการใช้งาน</a>&nbsp;&nbsp;&nbsp;·&nbsp;&nbsp;
หัวข้อถัดไป:&nbsp;&nbsp;<a href="profiling.html">รวบรวมข้อมูลในแอพพลิเคชั่นของคุณ</a>
</p>
<p>คู่มือการใช้งาน CodeIgniter
นี้ได้ทำการคัดลอกและดัดแปลงจาก <a href="http://codeigniter.com/user_guide/">CodeIgniter User
Guide</a></p>
<p><a href="http://codeigniter.com">CodeIgniter</a>
· Copyright © 2006-2009 · <a href="http://ellislab.com/">Ellislab,
Inc.</a>
</p>
</div>

</body></html>